package m1;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.ConnectionFactory;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

public class Producer {
    public static void main(String[] args) throws IOException, TimeoutException {
        //1. 连接服务器
        ConnectionFactory f = new ConnectionFactory();
        f.setHost("192.168.64.140");
        f.setPort(5672);
        f.setUsername("admin");
        f.setPassword("admin");
        Channel c = f.newConnection().createChannel();

        //2. 在服务器上创建 helloworld 队列
        //   如果队列在服务器上已经存在，不会重复创建
        /**
         * 参数：
         *    1、队列名
         *    2、是否是持久队列，非持久队列在系统重启后会消失
         *    3、是否为排他队列、独占队列（非独占队列可以由多个消费者共享）
         *    4、是否自动删除（自动删除的队列在没有消费者时，可以由服务器自动删除）
         *    5、其他参数属性
         */
        c.queueDeclare("helloworld",false,false,false,null);

        //3. 发送消息
        /*
           参数：
               1、空串是默认的交换机
               3、对消息设置更多的属性参数
         */
        c.basicPublish("", "helloworld", null, "Hello world!".getBytes());

        //4. 断开连接（可选）
        c.close();
        System.out.println("消息已发送");

    }
}
